IGMP is a standard for Internet Protocol (“IP”) multicasting. Generally, IGMP is used to establish host memberships, in particular multicast groups, on a single network. As part of the protocol, a host uses host membership reports to inform a local router acting as an IGMP querier that the host should receive messages addressed to a specific multicast group. That is, hosts on the network can subscribe to receive messages addressed to particular multicast groups. For instance, the IGMP querier could be configured to periodically broadcast IGMP query messages to various hosts on the network. And in response, individual hosts could transmit a report message indicating which types of messages a given host should receive.
When the IGMP querier receives a message addressed to a specific multicast group, the IGMP querier forwards the message to each of the subscribing hosts for the specified multicast group. Additionally, the IGMP protocol supports registration between IP-based computer terminals and IP-based routers or hosts that are directly attached to the same IP subnet. Additionally, such IP-based routers or hosts support multiple IP subnets concurrently.
Generally, IGMP snooping refers to techniques that enable a system to quietly inspect packets flowing through the system. IGMP snooping may also discretely detect IGMP packets of interest. For example, IGMP snooping allows a layer 2 switching device to passively capture IGMP protocol packets and use the information in these packets to selectively forward multicast data streams to one or more physical ports (and subsequently to computer devices). At the same time, switching devices may forward IGMP snooping packets to one or more physical ports, to convey its own multicast data stream forwarding requirements to other routers or layer 2 switching devices on other layer 2 physical segments. As such, an IGMP packet can extend beyond its original layer 2 physical segment.
PIM generally refers to a set of multicast routing protocols for IP networks. Generally, PIM protocols are used to provide one-to-many or many-to-many transmissions of data over a network. For instance, the Protocol Independent Multicast—Sparse Mode (“PIM-SM”) protocol uses unicast routing protocols to construct a multicast tree rooted at a rendezvous point (e.g., a particular router within the network). Additionally, a PIM-equipped router may form neighborship with other PIM-equipped routers within the network and may maintain information related to this neighborship in a PIM neighborship cache. The PIM-equipped router can be configured to periodically transmit a message to each of the other PIM-equipped routers within the network. Additionally, the PIM-equipped router determine that a PIM-equipped router has become unavailable and accordingly remove that router from the neighborship cache, if the PIM-equipped router does not receive a response to the message from that PIM-equipped router within a particular interval of time.